package com.fy56.platform.logistics.model;

import com.fy56.platform.logistics.common.AbstractModel;

import java.io.Serializable;
import java.util.Date;

public class PayOrder extends AbstractModel {

    private MiniProgram miniProgram;
    private Company company;
    private Vip vip;

    private String orderBillId;
    private String orderNoLike;

    /**
     * 订单ID
     */
    private String orderId;
    /**
     * 支付订单类型[YUNFEI:运费，CHAJIA-差价]
     */
    private String payOrderType;

    private String consumeDetailId;
    private String sources;
    private String consumeCompanyId;
    private String consumeCompanyName;
    private String consumeCompanyCode;
    private Double amounts;
    private Integer stateFlag;  // {0待审核-未发起支付 1审核未通过 2待支付 999已审核-已支付}
    private String tradeType;
    private String consumeType;
    private Integer notifyFlag;
    /**
     * 退款原因
     */
    private String refundApplyReason;

    /**
     * 支付订单ID
     */
    private Integer payId;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 商品描述
     */
    private String goodsDescribe;

    /**
     * 生成支付订单类型[YUNFEI:运费，CHAE:差额]
     */
    private String generatorOrderType;
    /**
     * 支付方式{1：支付宝, 2：微信, 11：支付宝APP, 12：微信APP} 目前只支持微信
     */
    private Integer payType;

    /**
     * 支付金额
     */
    private Double money;

    /**
     * 创建统一下单数据信息
     */
    private String requestCreateData;

    /**
     * 统一下单接口返回的 prepay_id
     */
    private String prepayId;

    /**
     * 交易中心商户订单号
     */
    private String outTradeNo;

    /**
     * 交易中心 交易单号
     */
    private String consumeDetailNo;

    /**
     * 创建统一数据返回结果信息
     */
    private String resultCreateData;

    /**
     * 交易开始时间
     */
    private Date startTime;

    /**
     * 交易结束时间
     */
    private Date expireTime;

    /**
     * 支付状态[0：待支付，1：已支付]
     */
    private Integer payState;

    /**
     * 支付结果信息
     */
    private String payResultMsg;

    /**
     * 支付时间
     */
    private Date payTime;

    private Date startPayTime;

    private Date endPayTime;

    /**
     * 小程序ID
     */
    private String appId;

    /**
     * 金融平台代码
     */
    private String code;

    /**
     * 创建用户
     */
    private String vipMemberId;

    /**
     * 用户手机号码
     */
    private String mobile;

    /**
     * 用户openId
     */
    private String openId;

    /**
     * 创建时间
     */
    private Date createTime;

    private Date startCreateTime;

    private Date endCreateTime;

    /**
     * 关闭状态[0：未关闭，1：已关闭]
     */
    private Integer closeState;

    /**
     * 关闭时间
     */
    private Date closeTime;

    /**
     * 退款状态
     */
    private Integer returnMoneyState;
    /**
     * 退款时间
     */
    private Date returnMoneyTime;
    /**
     * 退款时间
     */
    private String returnMoneyReason;
    /**
     * 退款结果数据
     */
    private String returnMoneyResultData;

    /**
     * 备注
     */
    private String remark;

    /**
     * pay_order
     */
    private static final long serialVersionUID = 1L;

    /**
     * 支付订单ID
     * @return pay_id 支付订单ID
     */
    public Integer getPayId() {
        return payId;
    }

    /**
     * 支付订单ID
     * @param payId 支付订单ID
     */
    public void setPayId(Integer payId) {
        this.payId = payId;
    }

    /**
     * 订单号
     * @return order_no 订单号
     */
    public String getOrderNo() {
        return orderNo;
    }

    /**
     * 订单号
     * @param orderNo 订单号
     */
    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo == null ? null : orderNo.trim();
    }

    /**
     * 商品描述
     * @return goods_describe 商品描述
     */
    public String getGoodsDescribe() {
        return goodsDescribe;
    }

    /**
     * 商品描述
     * @param goodsDescribe 商品描述
     */
    public void setGoodsDescribe(String goodsDescribe) {
        this.goodsDescribe = goodsDescribe == null ? null : goodsDescribe.trim();
    }

    /**
     * 支付方式{1：支付宝, 2：微信, 11：支付宝APP, 12：微信APP} 目前只支持微信
     * @return payType 支付方式{1：支付宝, 2：微信, 11：支付宝APP, 12：微信APP} 目前只支持微信
     */
    public Integer getPayType() {
        return payType;
    }


    /**
     * 支付方式{1：支付宝, 2：微信, 11：支付宝APP, 12：微信APP} 目前只支持微信
     * @param payType 支付方式{1：支付宝, 2：微信, 11：支付宝APP, 12：微信APP} 目前只支持微信
     */
    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    /**
     * 支付金额
     * @return money 支付金额
     */
    public Double getMoney() {
        return money;
    }

    /**
     * 支付金额
     * @param money 支付金额
     */
    public void setMoney(Double money) {
        this.money = money;
    }

    /**
     * 创建统一下单数据信息
     * @return request_create_data 创建统一下单数据信息
     */
    public String getRequestCreateData() {
        return requestCreateData;
    }

    /**
     * 创建统一下单数据信息
     * @param requestCreateData 创建统一下单数据信息
     */
    public void setRequestCreateData(String requestCreateData) {
        this.requestCreateData = requestCreateData == null ? null : requestCreateData.trim();
    }

    /**
     * 统一下单接口返回的 prepay_id
     * @return prepay_id 统一下单接口返回的 prepay_id
     */
    public String getPrepayId() {
        return prepayId;
    }

    /**
     * 统一下单接口返回的 prepay_id
     * @param prepayId 统一下单接口返回的 prepay_id
     */
    public void setPrepayId(String prepayId) {
        this.prepayId = prepayId == null ? null : prepayId.trim();
    }

    /**
     * 交易中心商户订单号
     * @return out_trade_no 交易中心商户订单号
     */
    public String getOutTradeNo() {
        return outTradeNo;
    }

    /**
     * 交易中心商户订单号
     * @param outTradeNo 交易中心商户订单号
     */
    public void setOutTradeNo(String outTradeNo) {
        this.outTradeNo = outTradeNo == null ? null : outTradeNo.trim();
    }

    /**
     * 交易中心 交易单号
     * @return consume_detail_no 交易中心 交易单号
     */
    public String getConsumeDetailNo() {
        return consumeDetailNo;
    }

    /**
     * 交易中心 交易单号
     * @param consumeDetailNo 交易中心 交易单号
     */
    public void setConsumeDetailNo(String consumeDetailNo) {
        this.consumeDetailNo = consumeDetailNo == null ? null : consumeDetailNo.trim();
    }

    /**
     * 创建统一数据返回结果信息
     * @return result_create_data 创建统一数据返回结果信息
     */
    public String getResultCreateData() {
        return resultCreateData;
    }

    /**
     * 创建统一数据返回结果信息
     * @param resultCreateData 创建统一数据返回结果信息
     */
    public void setResultCreateData(String resultCreateData) {
        this.resultCreateData = resultCreateData == null ? null : resultCreateData.trim();
    }

    /**
     * 交易开始时间
     * @return start_time 交易开始时间
     */
    public Date getStartTime() {
        return startTime;
    }

    /**
     * 交易开始时间
     * @param startTime 交易开始时间
     */
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    /**
     * 交易结束时间
     * @return expire_time 交易结束时间
     */
    public Date getExpireTime() {
        return expireTime;
    }

    /**
     * 交易结束时间
     * @param expireTime 交易结束时间
     */
    public void setExpireTime(Date expireTime) {
        this.expireTime = expireTime;
    }

    /**
     * 支付状态[0：待支付，1：已支付]
     * @return pay_state 支付状态[0：待支付，1：已支付]
     */
    public Integer getPayState() {
        return payState;
    }

    /**
     * 支付状态[0：待支付，1：已支付]
     * @param payState 支付状态[0：待支付，1：已支付]
     */
    public void setPayState(Integer payState) {
        this.payState = payState;
    }

    /**
     * 支付结果信息
     * @return pay_result_msg 支付结果信息
     */
    public String getPayResultMsg() {
        return payResultMsg;
    }

    /**
     * 支付结果信息
     * @param payResultMsg 支付结果信息
     */
    public void setPayResultMsg(String payResultMsg) {
        this.payResultMsg = payResultMsg == null ? null : payResultMsg.trim();
    }

    /**
     * 支付时间
     * @return pay_time 支付时间
     */
    public Date getPayTime() {
        return payTime;
    }

    /**
     * 支付时间
     * @param payTime 支付时间
     */
    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    /**
     * 小程序ID
     * @return app_id 小程序ID
     */
    public String getAppId() {
        return appId;
    }

    /**
     * 小程序ID
     * @param appId 小程序ID
     */
    public void setAppId(String appId) {
        this.appId = appId == null ? null : appId.trim();
    }

    /**
     * 金融平台代码
     * @return code 金融平台代码
     */
    public String getCode() {
        return code;
    }

    /**
     * 金融平台代码
     * @param code 金融平台代码
     */
    public void setCode(String code) {
        this.code = code == null ? null : code.trim();
    }

    /**
     * 创建用户
     * @return vip_member_id 创建用户
     */
    public String getVipMemberId() {
        return vipMemberId;
    }

    /**
     * 创建用户
     * @param vipMemberId 创建用户
     */
    public void setVipMemberId(String vipMemberId) {
        this.vipMemberId = vipMemberId == null ? null : vipMemberId.trim();
    }

    /**
     * 创建时间
     * @return create_time 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 创建时间
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 关闭状态[0：未关闭，1：已关闭]
     * @return close_state 关闭状态[0：未关闭，1：已关闭]
     */
    public Integer getCloseState() {
        return closeState;
    }

    /**
     * 关闭状态[0：未关闭，1：已关闭]
     * @param closeState 关闭状态[0：未关闭，1：已关闭]
     */
    public void setCloseState(Integer closeState) {
        this.closeState = closeState;
    }

    /**
     * 关闭时间
     * @return close_time 关闭时间
     */
    public Date getCloseTime() {
        return closeTime;
    }

    /**
     * 关闭时间
     * @param closeTime 关闭时间
     */
    public void setCloseTime(Date closeTime) {
        this.closeTime = closeTime;
    }

    /**
     * 备注
     * @return remark 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 备注
     * @param remark 备注
     */
    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    public Date getStartPayTime() {
        return startPayTime;
    }

    public void setStartPayTime(Date startPayTime) {
        this.startPayTime = startPayTime;
    }

    public Date getEndPayTime() {
        return endPayTime;
    }

    public void setEndPayTime(Date endPayTime) {
        this.endPayTime = endPayTime;
    }

    public Date getStartCreateTime() {
        return startCreateTime;
    }

    public void setStartCreateTime(Date startCreateTime) {
        this.startCreateTime = startCreateTime;
    }

    public Date getEndCreateTime() {
        return endCreateTime;
    }

    public void setEndCreateTime(Date endCreateTime) {
        this.endCreateTime = endCreateTime;
    }

    public String getGeneratorOrderType() {
        return generatorOrderType;
    }

    public void setGeneratorOrderType(String generatorOrderType) {
        this.generatorOrderType = generatorOrderType;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getOpenId() {
        return openId;
    }

    public void setOpenId(String openId) {
        this.openId = openId;
    }

    public MiniProgram getMiniProgram() {
        return miniProgram;
    }

    public void setMiniProgram(MiniProgram miniProgram) {
        this.miniProgram = miniProgram;
    }

    public Company getCompany() {
        return company;
    }

    public void setCompany(Company company) {
        this.company = company;
    }
    public Vip getVip() {
        return vip;
    }

    public void setVip(Vip vip) {
        this.vip = vip;
    }

    public String getOrderNoLike() {
        return orderNoLike;
    }

    public void setOrderNoLike(String orderNoLike) {
        this.orderNoLike = orderNoLike;
    }

    public String getOrderBillId() {
        return orderBillId;
    }

    public void setOrderBillId(String orderBillId) {
        this.orderBillId = orderBillId;
    }

    public String getConsumeDetailId() {
        return consumeDetailId;
    }

    public void setConsumeDetailId(String consumeDetailId) {
        this.consumeDetailId = consumeDetailId;
    }

    public String getSources() {
        return sources;
    }

    public void setSources(String sources) {
        this.sources = sources;
    }

    public String getConsumeCompanyId() {
        return consumeCompanyId;
    }

    public void setConsumeCompanyId(String consumeCompanyId) {
        this.consumeCompanyId = consumeCompanyId;
    }

    public String getConsumeCompanyName() {
        return consumeCompanyName;
    }

    public void setConsumeCompanyName(String consumeCompanyName) {
        this.consumeCompanyName = consumeCompanyName;
    }

    public String getConsumeCompanyCode() {
        return consumeCompanyCode;
    }

    public void setConsumeCompanyCode(String consumeCompanyCode) {
        this.consumeCompanyCode = consumeCompanyCode;
    }

    public Double getAmounts() {
        return amounts;
    }

    public void setAmounts(Double amounts) {
        this.amounts = amounts;
    }

    public Integer getStateFlag() {
        return stateFlag;
    }

    public void setStateFlag(Integer stateFlag) {
        this.stateFlag = stateFlag;
    }

    public String getTradeType() {
        return tradeType;
    }

    public void setTradeType(String tradeType) {
        this.tradeType = tradeType;
    }

    public String getConsumeType() {
        return consumeType;
    }

    public void setConsumeType(String consumeType) {
        this.consumeType = consumeType;
    }

    public Integer getNotifyFlag() {
        return notifyFlag;
    }

    public void setNotifyFlag(Integer notifyFlag) {
        this.notifyFlag = notifyFlag;
    }

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public String getPayOrderType() {
        return payOrderType;
    }

    public void setPayOrderType(String payOrderType) {
        this.payOrderType = payOrderType;
    }

    public String getRefundApplyReason() {
        return refundApplyReason;
    }

    public void setRefundApplyReason(String refundApplyReason) {
        this.refundApplyReason = refundApplyReason;
    }

    public Integer getReturnMoneyState() {
        return returnMoneyState;
    }

    public void setReturnMoneyState(Integer returnMoneyState) {
        this.returnMoneyState = returnMoneyState;
    }

    public Date getReturnMoneyTime() {
        return returnMoneyTime;
    }

    public void setReturnMoneyTime(Date returnMoneyTime) {
        this.returnMoneyTime = returnMoneyTime;
    }

    public String getReturnMoneyReason() {
        return returnMoneyReason;
    }

    public void setReturnMoneyReason(String returnMoneyReason) {
        this.returnMoneyReason = returnMoneyReason;
    }

    public String getReturnMoneyResultData() {
        return returnMoneyResultData;
    }

    public void setReturnMoneyResultData(String returnMoneyResultData) {
        this.returnMoneyResultData = returnMoneyResultData;
    }

    @Override
    public String toString() {
        return "PayOrder{" +
                "miniProgram=" + miniProgram +
                ", company=" + company +
                ", vip=" + vip +
                ", orderBillId='" + orderBillId + '\'' +
                ", orderNoLike='" + orderNoLike + '\'' +
                ", orderId='" + orderId + '\'' +
                ", payOrderType='" + payOrderType + '\'' +
                ", consumeDetailId='" + consumeDetailId + '\'' +
                ", sources='" + sources + '\'' +
                ", consumeCompanyId='" + consumeCompanyId + '\'' +
                ", consumeCompanyName='" + consumeCompanyName + '\'' +
                ", consumeCompanyCode='" + consumeCompanyCode + '\'' +
                ", amounts=" + amounts +
                ", stateFlag=" + stateFlag +
                ", tradeType='" + tradeType + '\'' +
                ", consumeType='" + consumeType + '\'' +
                ", notifyFlag=" + notifyFlag +
                ", refundApplyReason='" + refundApplyReason + '\'' +
                ", payId=" + payId +
                ", orderNo='" + orderNo + '\'' +
                ", goodsDescribe='" + goodsDescribe + '\'' +
                ", generatorOrderType='" + generatorOrderType + '\'' +
                ", payType=" + payType +
                ", money=" + money +
                ", requestCreateData='" + requestCreateData + '\'' +
                ", prepayId='" + prepayId + '\'' +
                ", outTradeNo='" + outTradeNo + '\'' +
                ", consumeDetailNo='" + consumeDetailNo + '\'' +
                ", resultCreateData='" + resultCreateData + '\'' +
                ", startTime=" + startTime +
                ", expireTime=" + expireTime +
                ", payState=" + payState +
                ", payResultMsg='" + payResultMsg + '\'' +
                ", payTime=" + payTime +
                ", startPayTime=" + startPayTime +
                ", endPayTime=" + endPayTime +
                ", appId='" + appId + '\'' +
                ", code='" + code + '\'' +
                ", vipMemberId='" + vipMemberId + '\'' +
                ", mobile='" + mobile + '\'' +
                ", openId='" + openId + '\'' +
                ", createTime=" + createTime +
                ", startCreateTime=" + startCreateTime +
                ", endCreateTime=" + endCreateTime +
                ", closeState=" + closeState +
                ", closeTime=" + closeTime +
                ", remark='" + remark + '\'' +
                '}';
    }


}
